﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using Video.Domain.Videos;

namespace Video.Domain.VideoRepository
{
    public interface IVideoRepository:IRepository<Videos.Video>
    {
        Task<List<Videos.Video>> GetListVideoAsync(Guid? userId, Guid? classify,
            string? keywords, DateTime? startTime, DateTime? endTime, int skipCount, int maxResultCount);
        Task<int> GetVideoCountAsync(Guid? userId, Guid? classify,
            string? keywords, DateTime? startTime, DateTime? endTime);
        /// <summary>
        /// 创建视频分类
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>
        Task CreateClassifyAsync(string name);
        /// <summary>
        /// 删除视频分类
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task DeleteClassifyAsyn(Guid id);
        /// <summary>
        /// 修改视频分类
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task UpdateClassifyAsync(Classify classify);
        /// <summary>
        /// 获取分类列表
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>
        Task<List<Classify>> GetClassifyListAsync(string? name);
    }
}
